<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>

    //优化promise的异常处理
    new Promise(function (resolve,reject) {
        setTimeout(function (flag) {
            if(flag){
                console.log("第一次获取数据成功")
                resolve()
            }else{
                reject("第一次获取数据失败")
            }
        },1000,true)
    }).then(()=>{
        return new Promise((resolve,reject)=>{
            setTimeout((flag)=>{
                if(flag){
                    console.log("第二次获取数据成功")
                    resolve()
                }else{
                    reject("第二次获取数据失败")
                }
            },1000,false)
        })
    }).then(()=>{
        return new Promise((resolve,reject)=>{
            setTimeout((flag)=>{
                if(flag){
                    console.log("第三次获取数据成功")
                    resolve()
                }else{
                    console.log("第三次获取数据失败")
                    reject()
                }
            },1000,true)
        })
    }).catch(()=>{
        alert("请求异常")
    })

    /*.then(null,()=>{
        //处理全流程的异常
        alert("请求异常")
    })*/
</script>
</html>